Zen de Python
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Le Zen de Python est un ensemble de 19 principes qui influencent la conception du langage de programmation Python, et sont utiles pour comprendre et utiliser le langagecite-ref-1[1].
Écrit et publié sur la liste de discussion de Python en juin 1999 par Tim Peters (en)cite-ref-2[2], le Zen de Python a été ensuite publié comme le Python Enhancement Proposal (PEP) numéro 20cite-ref-pep20-3-0[3]. Il est aussi inclus comme « Easter egg » dans la distribution de l'interpréteur Python, et apparait quand on tape la commande import thiscite-ref-pep20-3-1[3].
Le message initial sur la liste de discussion, comme les publications ultérieures, mentionnent non pas 19, mais 20 principes, « En en comptant un (...) à rajouter par Guido », mais ce vingtième principe n'a jamais été publié, et n'existe probablement pas. Le texte inclut aussi une référence implicite à Guido Van Rossum (dans la strophe « à moins d'être Néerlandais »).
Le texte en anglais a été mis dans le domaine public.
Contents
• Texte
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Texte
Une traduction en français a été diffusée sous une licence Creative Commons BY-NC-SA dans un cours de programmation Pythoncite-ref-4[4] :
Préfère :
la beauté à la laideur,
l'explicite à l'implicite,
le simple au complexe
et le complexe au compliqué,
le déroulé à l'imbriqué,
l'aéré au compact.
Prends en compte la lisibilité.
Les cas particuliers ne le sont jamais assez pour violer les règles.
Mais, à la pureté, privilégie l'aspect pratique.
Ne passe pas les erreurs sous silence,
... ou bâillonne-les explicitement.
Face à l'ambiguïté, à deviner ne te laisse pas aller.
Sache qu'il ne devrait [y] avoir qu'une et une seule façon de procéder,
même si, de prime abord, elle n'est pas évidente, à moins d'être Néerlandais.
Mieux vaut maintenant que jamais.
Cependant jamais est souvent mieux qu'immédiatement.
Si l'implémentation s'explique difficilement, c'est une mauvaise idée.
Si l'implémentation s'explique aisément, c'est peut-être une bonne idée.
Les espaces de nommage ! Sacrée bonne idée ! Faisons plus de trucs comme ça.
Les « espaces de nommage » mentionnés dans la dernière strophe désignent les espaces de noms (namespaces en anglais) ; ceux-ci assignent un ensemble d'objets (entiers, réels, chaînes de caractères, etc.) à un ensemble de termes d'un répertoirecite-ref-5[5]
Références
cite-note-11. ↑ 2018« Zen de Python », sur Documentation de Python, 8 novembre 2018
cite-note-22. ↑ (en) « "The Python Way" », Mail.python.org (consulté le 27 décembre 2018)
cite-note-pep20-33. peters2004tim-peters2004(en) Tim Peters, « PEP20 -- The Zen of Python », 19 août 2004
cite-note-44. ↑ cordeaupointal2018bob-cordeaulaurent-pointal2018Bob Cordeau et Laurent Pointal, « Une introduction à Python 3, version 1.618c », 8 novembre 2018
cite-note-55. ↑ « Un point sur les variables et espaces de noms », sur www.normalesup.org (consulté le 11 juillet 2024)
Liens externes
• PEP20 on Python website
• Portail de la programmation informatique
• Portail de la philosophie